perm filename PUP2[AP,DBL]1 blob
sn#070115 filedate 1973-11-10 generic text, type T, neo UTF8
00100 (FILECREATED "10-NOV-73 16:44:08" PUP2)
00200
00300
00400 (DEFINEQ
00500
00600 (A:BEING:ORDER
00700 [LAMBDA (B1 B2)
00800 (LESSP (FAST:BEING:COMPLEX B1)
00900 (FAST:BEING:COMPLEX B2])
01000
01100 (AD
01200 [LAMBDA (L)
01300 (SETQ PUP2FNS (SORT (APPEND PUP2FNS L)))
01400 (SETQ PUP2FNS (INTERSECTION PUP2FNS PUP2FNS))
01500 (MAKEFILE (QUOTE PUP2])
01600
01700 (ADD:BEING
01800 [LAMBDA (B)
01900 (PUT B IDEN B)
02000 (SET B B)
02100 (PUT B BEING T)
02200 [FOR X IN (CDR SET:OF:BEING:PARTS) DO (PROGN (PRIN1 X)
02300 (PRIN1 " ")
02400 (PUT B X (READ]
02500 (PRIN1 "*** FINISHED ***")
02600 (SETQ SET:OF:BEINGS (CONS B SET:OF:BEINGS))
02700 [EVAL (LIST (QUOTE DEFINEQ)
02800 (LIST B (LIST (QUOTE LAMBDA)
02900 (GETP B EXPLICIT:ARGS)
03000 (LIST TRY:BEING B (CONS (QUOTE LIST)
03100 (GETP B
03200 EXPLICIT:ARGS]
03300 (AD (LIST B])
03400
03500 (DISK:DUMP
03600 [LAMBDA (FILE STUFF)
03700 (SETQ FILEVARS (MKATOM (CONCAT (MKSTRING FILE)
03800 "VARS")))
03900 (SET FILEVARS (QUOTE (EVERYTHING)))
04000 (SETQ EVERYTHING STUFF)
04100 (MAKEFILE FILE])
04200
04300 (DOT:PROD
04400 [LAMBDA (L1 L1)
04500 (COND
04600 [L1 (PLUS (TIMES (CAR L1)
04700 (CAR L2))
04800 (DOT:PROD (CDR L1)
04900 (CDR L2]
05000 (T 0])
05100
05200 (FAST:BEING:COMPLEX
05300 [LAMBDA (B)
05400 (DOT:PROD (QUOTE (.1 .6 .3))
05500 (GETP B COMPLEXITY:VECTOR])
05600
05700 (FOREACH
05800 [LAMBDA (X IN SET DO ACTION)
05900 (PROG (RESULT)
06000 START:HERE
06100 (COND
06200 ((NULL SET)
06300 (RETURN RESULT)))
06400 (SET X (CAR SET))
06500 (SETQ SET (CDR SET))
06600 (SETQ RESULT (EVAL ACTION))
06700 (GO START:HERE])
06800
06900 (PERMIT:USER:INTERRUPT
07000 [LAMBDA NIL
07100 (COND
07200 (EXPERTISE (PRIN1 "INTERRUPT? "))
07300 (T (PRIN1
07400 "
07500 DO YOU WISH TO INTERRUPT ME NOW, TO ASK ME ABOUT WHAT I'M DOING? ")))
07600 (SELECTQ (RATOM)
07700 (Y (PROCESS:USER:INTERRUPT))
07800 (N NIL)
07900 (PROGN (PRIN1 "
08000 NO, NO. TYPE Y OR N ......... ")
08100 (PERMIT:USER:INTERRUPT])
08200
08300 (POP:DEMONS
08400 [LAMBDA NIL
08500 (MATCHQ (←CURRENT:DEMONS
08600 ←←DEMON:STACK)
08700 $DEMON:STACK])
08800
08900 (PROCESS:USER:INTERRUPT
09000 [LAMBDA NIL
09100 ((QPROG (RESPONSE ←BC
09200 ←BC1
09300 ←BC2)
09400 (COND
09500 ((NOT EXPERTISE)
09600 (PRINT (APPEND (QUOTE (BEING IS))
09700 B))
09800 (PRIN1 " TYPE ? OR ")))
09900 (PRIN1 " REQUEST: ")
10000 (MATCHQ (←BC
10100 ←←BC2)
10200 BEING:STACK)
10300 (MATCHQ ←BC1
10400 (TUPLE))
10500 L
10600 ((ATTEMPT [SELECTQ (SETQ RESPONSE (RATOM))
10700 [? (PRIN1
10800
10900 " YOUR OPTIONS ARE AS FOLLOWS:
11000
11100 QUIT END THE INTERRUPT
11200 BEING PRINT NAME OF CURRENT BEING
11300 DEMONS PRINT SET OF DEMONS CURRENTLY ACTIVE
11400 CONTROL:HISTORY PRINT LIST OF BEINGS IN CONTROL, THE PATH FROM THE
11500 CURRENT BEING BACK TO THE BEGINNING OF THE PROGRAM
11600 OLDER CONSIDER THE BEING WHICH CALLED THE CURRENT ONE
11700 YOUNGER CONSIDER THE BEING WHICH THE CURRENT ONE CALLED
11800 OLDEST CONSIDER THE FIRST BEING IN CONTROL
11900 YOUNGEST CONSIDER THE LAST BEING IN CONTROL
12000 ")
12100 (MAPC SET:OF:BEING:PARTS
12200 (FUNCTION (LAMBDA (Y)
12300 (PRIN1 Y)
12400 (PRIN1 " PRINT OUT ")
12500 (PRIN1 Y)
12600 (PRIN1
12700 " WITH RESPECT TO CURRENT BEING
12800 "]
12900 (QUIT (COND
13000 ((NOT EXPERTISE)
13100 (PRIN1 "
13200
13300 END OF INTERRUPT
13400
13500 ")))
13600 (RETURN))
13700 (BEING (PRINT $BC))
13800 (CONTROL:HISTORY (PRIN1 $BC1)
13900 (PRIN1 " *** ")
14000 (PRIN1 $BC)
14100 (PRIN1 " *** ")
14200 (PRIN1 $BC2)
14300 (TERPRI))
14400 (DEMONS (PRIN1 $CURRENT:DEMONS)
14500 (PRIN1 "
14600 THE DEMON STACK IS ")
14700 (PRINT $DEMON:STACK))
14800 (OLDER (MATCHQ ←BC1
14900 (TUPLE $$BC1 $BC))
15000 (MATCHQ (←BC
15100 ←←BC2)
15200 $BC2)
15300 (PRINT $BC))
15400 (YOUNGER (MATCHQ ←BC2
15500 (TUPLE $BC $$BC2))
15600 (MATCHQ (←←BC1
15700 ←BC)
15800 $BC1)
15900 (PRINT $BC))
16000 (OLDEST (MATCHQ (←←BC1
16100 ←BC)
16200 BEING:STACK)
16300 (MATCHQ ←BC2
16400 (TUPLE))
16500 (PRINT $BC))
16600 (YOUNGEST (MATCHQ (←BC
16700 ←←BC2)
16800 BEING:STACK)
16900 (MATCHQ ←BC1
17000 (TUPLE))
17100 (PRINT $BC))
17200 (COND
17300 ((MEMBER RESPONSE SET:OF:BEING:PARTS)
17400 (PRINT (GETP $BC RESPONSE)))
17500 ((NLSETQ (PRINT (EVAL RESPONSE)))
17600 T)
17700 (T (FAIL]
17800 THEN T
17900 ELSE (PRIN1
18000 "
18100 *** ERROR *** IMPOSSIBLE. TYPE ? FOR HELP.
18200
18300 ")))
18400 (GO L])
18500
18600 (PULLOUT
18700 [LAMBDA (E L)
18800 (COND
18900 ((ATOM L)
19000 L)
19100 ((EQUAL E (CAR L))
19200 (CDR L))
19300 (T (CONS (CAR L)
19400 (PULLOUT E (CDR L])
19500
19600 (PUSH:DEMONS
19700 [LAMBDA (NEW:DEMONS)
19800 (MATCHQ ←NEW:DEMO
19900 (SETDIFFERENCE NEW:DEMONS $CURRENT:DEMONS))
20000 (MATCHQ ←DEMON:STACK
20100 (TUPLE $CURRENT:DEMONS $DEMON:STACK))
20200 (MATCHQ ←CURRENT:DEMONS
20300 (TUPLE $NEW:DEMO $$CURRENT:DEMONS])
20400
20500 (SATISFY
20600 [LAMBDA (G)
20700 (COND
20800 (G (TRY:BEING SATISFY (LIST G)))
20900 (T T])
21000
21100 (SERVE
21200 [LAMBDA NIL
21300 (TRY:BEING SERVE (LIST])
21400
21500 (SETDIFFERENCE
21600 [LAMBDA (S1 S2)
21700 (COND
21800 ((NULL S1)
21900 NIL)
22000 (T (APPEND [COND
22100 ((MEMBER (CAR S1)
22200 S2)
22300 NIL)
22400 (T (LIST (CAR S1]
22500 (SETDIFFERENCE (CDR S1)
22600 S2])
22700
22800 (SETINTERSECTION
22900 [LAMBDA (S1 S2)
23000 (INTERSECTION S1 S2])
23100
23200 (SETUNION
23300 [LAMBDA (S1 S2)
23400 (SETQ S1 (APPEND S1 S2))
23500 (INTERSECTION S1 S1])
23600
23700 (START
23800 [LAMBDA (EXPERTISE)
23900 (PROG NIL
24000 (SETQ Y (QUOTE Y))
24100 (SETQ N (QUOTE N))
24200 (SETQ BEING:STACK NIL)
24300 (MATCHQ ←DEMON:STACK
24400 (TUPLE))
24500 (MATCHQ ←CURRENT:DEMONS
24600 (TUPLE))
24700 (COND
24800 (EXPERTISE (PRIN1 "USER INTERRUPT LEVEL... "))
24900 (T (PRIN1
25000
25100 "HELLO THERE. I AM READY TO START .
25200
25300 HOW OFTEN SHOULD I LET YOU INTERRRUPT ME, TO ASK ME ABOUT WHAT I'M
25400 DOING? TYPE A DIGIT, AS EXPLAINED BELOW:
25500
25600 0 NEVER (ULTIMATE PRODUCTION-RUN MODE)
25700 2 A COUPLE OF TIMES DURING THE COURSE OF WRITING A PROGRAM
25800 4 DURING EACH PHASE OF WRITING A PROGRAM
25900 6 DURING THE WRITING OF EACH NONTRIVIAL SUBFUNCTION OF A PROGRAM
26000 8 DURING EACH PHASE OF WRITING EACH SUBFUNCTION OF A PROGRAM
26100 10 EACH TIME A BEING TRANSFERS CONTROL (ULTIMATE DEBUG MODE)
26200
26300 OK, NOW TYPE A DIGIT... ")))
26400 L [MATCHQ ←PERMANENT:USER:INTERRUPT:DEMONS
26500 (SELECTQ (RATOM)
26600 (0 (CLASS))
26700 (2 (CLASS USER:INTERRUPT:AT:DEBUG
26800 USER:INTERRUPT:AT:END))
26900 (4 (CLASS USER:INTERRUPT:AT:PHASES))
27000 (6 (CLASS USER:INTERRUPT:AT:PHASES
27100 USER:INTERRUPT:AT:CODING))
27200 (8 (CLASS USER:INTERRUPT:AT:PHASES
27300 USER:INTERRUPT:AT:CODING
27400 USER:INTERRUPT:AT:ADAPTING))
27500 (10 (CLASS PERMIT:USER:INTERRUPT))
27600 (AND (PRIN1
27700
27800 "
27900 *** ERROR *** YOU MUST TYPE ONE EVEN INTEGER FROM 0 TO 10
28000 TRY AGAIN:
28100 ")
28200 (GO L]
28300 (MATCHQ ←USER:INTERRUPT:DEMONS
28400 $PERMANENT:USER:INTERRUPT:DEMONS)
28500 (SETQ USER:INTERRUPT:COPY:OF:PHASES PROGRAM:WRITING:PHASES)
28600 (SERVE])
28700
28800 (SUBSTITUTE
28900 [LAMBDA (NEW FOR OLD IN LIST:STRUCTURE)
29000 (SET LIST:STRUCTURE (SUBST NEW OLD (EVAL LIST:STRUCTURE])
29100
29200 (TRY:BEING
29300 [LAMBDA (B ARGS)
29400 (EVAL (GETP TRY:BEING EXPLICIT:ARGS:CHECK))
29500 (EVAL (GETP TRY:BEING META:CODE])
29600
29700 (TRY:TO:SATISFY
29800 [LAMBDA (SUBGOAL)
29900 (ATTEMPT (SATISFY SUBGOAL)
30000 THEN T
30100 ELSE (SETQ FINAL:CO:REQ (CONS SUBGOAL FINAL:CO:REQ])
30200
30300 (USER:INTERRUPT:AT:ADAPTING
30400 [LAMBDA (S:EXP)
30500 (COND
30600 ((EQUAL B ADAPT:PRECONCEIVED:FUNCTION)
30700 (PERMIT:USER:INTERRUPT)
30800 (MATCHQ (CLASS USER:INTERRUPT:AT:ADAPTING
30900 ←←USER:INTERRUPT:DEMONS)
31000 $USER:INTERRUPT:DEMONS])
31100
31200 (USER:INTERRUPT:AT:CODING
31300 [LAMBDA (S:EXP)
31400 (COND
31500 ((EQUAL B ENCODE)
31600 (PERMIT:USER:INTERRUPT)
31700 (MATCHQ (CLASS USER:INTERRUPT:AT:CODING ←←USER:INTERRUPT:DEMONS)
31800 $USER:INTERRUPT:DEMONS])
31900
32000 (USER:INTERRUPT:AT:DEBUG
32100 [LAMBDA (S:EXP)
32200 (COND
32300 ((EQUAL B CLARIFY:IMPROBABLE:SITUATION)
32400 (PERMIT:USER:INTERRUPT)
32500 (MATCHQ (CLASS USER:INTERRUPT:AT:DEBUG ←←USER:INTERRUPT:DEMONS)
32600 $USER:INTERRUPT:DEMONS])
32700
32800 (USER:INTERRUPT:AT:END
32900 [LAMBDA (S:EXP)
33000 (COND
33100 ((EQUAL B OPTIMIZE)
33200 (PERMIT:USER:INTERRUPT)
33300 (MATCHQ (CLASS USER:INTERRUPT:AT:END ←←USER:INTERRUPT:DEMONS)
33400 $USER:INTERRUPT:DEMONS])
33500
33600 (USER:INTERRUPT:AT:PHASES
33700 [LAMBDA (S:EXP)
33800 (COND
33900 ((MEMBER B USER:INTERRUPT:COPY:OF:PHASES)
34000 (PERMIT:USER:INTERRUPT)
34100 (SETQ USER:INTERRUPT:COPY:OF:PHASES (PULLOUT B
34200 USER:INTERRUPT:COPY:OF:PHASES])
34300 )
34400 (LISPXPRINT (QUOTE PUP2FNS)
34500 T)
34600 (RPAQQ PUP2FNS
34700 (A:BEING:ORDER AD ADD:BEING DISK:DUMP DOT:PROD
34800 FAST:BEING:COMPLEX FOREACH
34900 PERMIT:USER:INTERRUPT POP:DEMONS
35000 PROCESS:USER:INTERRUPT PULLOUT PUSH:DEMONS
35100 SATISFY SERVE SETDIFFERENCE SETINTERSECTION
35200 SETUNION START SUBSTITUTE TRY:BEING
35300 TRY:TO:SATISFY USER:INTERRUPT:AT:ADAPTING
35400 USER:INTERRUPT:AT:CODING
35500 USER:INTERRUPT:AT:DEBUG USER:INTERRUPT:AT:END
35600 USER:INTERRUPT:AT:PHASES))
35700 (LISPXPRINT (QUOTE PUP2VARS)
35800 T)
35900 [RPAQQ PUP2VARS (SET:OF:BEINGS
36000 BEING TRY:TO:SATISFY SET:OF:BEING:PARTS
36100 PROGRAM:WRITING:PHASES EVAL (VARS * (APPEND SET:OF:BEINGS
36200 SET:OF:BEING:PARTS))
36300 (COMS * (LIST (APPEND (QUOTE (PROP ALL))
36400 SET:OF:BEINGS]
36500 (RPAQQ SET:OF:BEINGS (SERVE SATISFY TRY:BEING))
36600 (RPAQQ BEING BEING)
36700 (RPAQQ TRY:TO:SATISFY TRY:TO:SATISFY)
36800 (RPAQQ SET:OF:BEING:PARTS
36900 (IDEN IMPLICIT:ARGS EXPLICIT:ARGS WHAT HOW WHY WHEN META:CODE
37000 COMMENTS PRE:REQUISITES CO:REQUISITES POST:REQUISITES
37100 EXPLICIT:ARGS:CHECK DEMONS MAIN:EFFECTS MINOR:EFFECTS
37200 AFFECTS COMPLEXITY:VECTOR GENERALIZATIONS
37300 SPECIALIZATIONS ALTERNATIVES))
37400 (RPAQQ PROGRAM:WRITING:PHASES (OBTAIN:USABLE:INFORMATION
37500 USE:INFORMATION
37600 FILL:IN:UNDEFINED:SECTION
37700 ADAPT:PRECONCIVED:FUNCTION
37800 CLARIFY:IMPROBABLE:SITUATION
37900 FIX:INCORRECT:PIECE
38000 OPTIMIZE))
38100 (RPAQQ EVAL EVAL)
38200 (RPAQQ SERVE SERVE)
38300 (RPAQQ SATISFY SATISFY)
38400 (RPAQQ TRY:BEING TRY:BEING)
38500 (RPAQQ IDEN IDEN)
38600 (RPAQQ IMPLICIT:ARGS IMPLICIT:ARGS)
38700 (RPAQQ EXPLICIT:ARGS EXPLICIT:ARGS)
38800 (RPAQQ WHAT WHAT)
38900 (RPAQQ HOW HOW)
39000 (RPAQQ WHY WHY)
39100 (RPAQQ WHEN WHEN)
39200 (RPAQQ META:CODE META:CODE)
39300 (RPAQQ COMMENTS COMMENTS)
39400 (RPAQQ PRE:REQUISITES PRE:REQUISITES)
39500 (RPAQQ CO:REQUISITES CO:REQUISITES)
39600 (RPAQQ POST:REQUISITES POST:REQUISITES)
39700 (RPAQQ EXPLICIT:ARGS:CHECK EXPLICIT:ARGS:CHECK)
39800 (RPAQQ DEMONS DEMONS)
39900 (RPAQQ MAIN:EFFECTS MAIN:EFFECTS)
40000 (RPAQQ MINOR:EFFECTS MINOR:EFFECTS)
40100 (RPAQQ AFFECTS AFFECTS)
40200 (RPAQQ COMPLEXITY:VECTOR COMPLEXITY:VECTOR)
40300 (RPAQQ GENERALIZATIONS GENERALIZATIONS)
40400 (RPAQQ SPECIALIZATIONS SPECIALIZATIONS)
40500 (RPAQQ ALTERNATIVES ALTERNATIVES)
40600 (PUTPROPS SERVE IDEN SERVE
40700 IMPLICIT:ARGS NIL
40800 EXPLICIT:ARGS NIL
40900 WHAT (TUPLE DO ANYTHING THE USER ASKS)
41000 HOW (TUPLE GET A TASK FROM THE USER)
41100 WHY (TUPLE FUNDAMENTAL DRIVE TO SERVE THE USER)
41200 WHEN NIL
41300 META:CODE (COND ($DONE (PRINT "WE ARE DONE"))
41400 (T (PRINT "NOPE, NO DONE")))
41500 COMMENTS ((PRINT "ARE WE DONE (T OR NIL)?? ")
41600 (MATCHQ ←DONE (READ)))
41700 PRE:REQUISITES NIL
41800 CO:REQUISITES NIL
41900 POST:REQUISITES NIL
42000 EXPLICIT:ARGS:CHECK NIL
42100 DEMONS NIL
42200 MAIN:EFFECTS (((ATTEMPTING ←TASK)
42300 (SERVE)))
42400 MINOR:EFFECTS NIL
42500 AFFECTS NIL
42600 COMPLEXITY:VECTOR (.2 .4 .6 .8)
42700 GENERALIZATIONS NIL
42800 SPECIALIZATIONS (WRITE:PROGRAM COUNSEL)
42900 ALTERNATIVES (IGNORE REBEL)
43000 BEING T)
43100 (PUTPROPS SATISFY IDEN SATISFY
43200 IMPLICIT:ARGS NIL
43300 EXPLICIT:ARGS (G)
43400 WHAT (TUPLE SATISFY THE SIMPLE SUBGOAL
43500 (EVAL G))
43600 HOW (TUPLE PASS CONTROL TO THE SIMPLEST SUFFICIENT
43700 BEING)
43800 WHY (TUPLE (EVAL G)
43900 IS A REQUISITE TO BE SATISFIED FOR THE
44000 CALLER)
44100 WHEN NIL
44200 META:CODE [IF
44300 (ATTEMPT (IS (@ G))
44400 THEN T)
44500 THEN T ELSE
44600 (PROG
44700 (B:LIST)
44800 (MATCHQ ←G (@ G))
44900 (FOR
45000 B1 IN (PULLOUT SATISFY
45100 SET:OF:BEINGS)
45200 DO
45300 (FOR X IN (GETP B1 MAIN:EFFECTS)
45400 UNTIL
45500 (ATTEMPT
45600 (MATCH (CAR X)
45700 $G)
45800 THEN
45900 (SETQ B:LIST
46000 (APPEND (CDR X)
46100 B:LIST)))
46200 DO NIL))
46300 (FOR X IN (SORT B:LIST A:BEING:ORDER)
46400 UNTIL
46500 (ATTEMPT (IS $G)
46600 THEN T)
46700 DO
46800 (EVAL X]
46900 COMMENTS NIL
47000 PRE:REQUISITES NIL
47100 CO:REQUISITES NIL
47200 POST:REQUISITES NIL
47300 EXPLICIT:ARGS:CHECK T
47400 DEMONS NIL
47500 MAIN:EFFECTS (((SATISFIED ←G)
47600 (SATISFY $G)))
47700 MINOR:EFFECTS NIL
47800 AFFECTS [APPEND
47900 [MAPCAR
48000 (PROG
48100 (B:LIST)
48200 (MATCHQ ←G (@ G))
48300 (FOR
48400 B1 IN (PULLOUT SATISFY
48500 SET:OF:BEINGS)
48600 DO
48700 (FOR X IN (GETP B1 MAIN:EFFECTS)
48800 UNTIL
48900 (ATTEMPT
49000 (MATCH (CAR X)
49100 $G)
49200 THEN
49300 (SETQ B:LIST
49400 (APPEND (CDR X)
49500 B:LIST)))
49600 DO NIL)))
49700 (LAMBDA
49800 (Y)
49900 (COND (Y (CONS Y (QUOTE (
50000 POSSIBLE:CALLED]
50100 (QUOTE ((TRY:BEING CALLED)
50200 (SORT CALLED)
50300 (A:BEING:ORDER CALLED]
50400 COMPLEXITY:VECTOR (0.0 .3 .2 .4)
50500 GENERALIZATIONS (SERVE)
50600 SPECIALIZATIONS (TRY:BEING)
50700 ALTERNATIVES (WRITE:PROGRAM
50800 ADAPT:PRECONCEIVED:FUNCTION)
50900 BEING T)
51000 (PUTPROPS TRY:BEING IDEN TRY:BEING
51100 IMPLICIT:ARGS NIL
51200 EXPLICIT:ARGS (B ARGS)
51300 EXPLICIT:ARGS:CHECK (AND
51400 (EQUAL T (GETP B BEING))
51500 (EQUAL (LENGTH
51600 (GETP B
51700 EXPLICIT:ARGS))
51800 (LENGTH ARGS)))
51900 WHAT (TUPLE CARRY OUT BEING (EVAL B)
52000 WITH ARGUMENTS (EVAL ARGS))
52100 META:CODE (PROG (FINAL:CO:REQ)
52200 (/SETQ BEING:STACK (CONS B
52300 BEING:STACK))
52400 (EVAL (GETP B EXPLICIT:ARGS:CHECK)
52500 )
52600 (MAPC (GETP B PRE:REQUISITES)
52700 SATISFY)
52800 (PUSH:DEMONS (GETP B DEMONS))
52900 (MAPC (GETP B CO:REQUISITES)
53000 TRY:TO:SATISFY)
53100 (MAPC (GETP B COMMENTS)
53200 EVAL)
53300 (ASSERT (APPLYING DEMONS)
53400 APPLY
53500 $USER:INTERRUPT:DEMONS)
53600 (EVAL (GETP B META:CODE))
53700 (MAPC FINAL:CO:REQ SATISFY)
53800 (POP:DEMONS)
53900 (MAPC (GETP B POST:REQUISITES)
54000 SATISFY)
54100 (/SETQ BEING:STACK (CDR
54200 BEING:STACK)))
54300 BEING T)
54400 STOP